package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 人员招聘申请记录对象 erp_user_recruit_info
 * @author wutao
 * @date 2024-05-31
 */
@TableName ("erp_user_recruit_info")
@ApiModel (value = "erp_user_recruit_info对象", description = "人员招聘申请记录")
@Data
public class UserRecruitEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id",type = IdType.INPUT)
    private String id;

    /**
     * 需求人数
     */
    @ApiModelProperty ("需求人数")
    @TableField ("need_number")
    @Excel (name = "需求人数")
    private Long needNumber;

    /**
     * 需求子公司Id,关联部门表,level为1
     */
    @ApiModelProperty ("需求子公司Id,关联部门表,level为1")
    @TableField ("company_id")
    @Excel (name = "需求子公司Id,关联部门表,level为1")
    private String companyId;

    /**
     * 需求部门,关联部门表,level为2
     */
    @ApiModelProperty ("需求部门,关联部门表,level为2")
    @TableField ("dept_id")
    @Excel (name = "需求部门,关联部门表,level为2")
    private String deptId;

    /**
     * 需求岗位
     */
    @ApiModelProperty ("需求岗位")
    @TableField ("post_id")
    @Excel (name = "需求岗位")
    private String postId;

    /**
     * 需要日期
     */
    @ApiModelProperty ("需要日期")
    @TableField ("need_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "需要日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date needTime;

    /**
     * 年龄需求,文本,输入年龄范围
     */
    @ApiModelProperty ("年龄需求,文本,输入年龄范围")
    @TableField ("age_required")
    @Excel (name = "年龄需求,文本,输入年龄范围")
    private String ageRequired;

    /**
     * 性别需求,文本
     */
    @ApiModelProperty ("性别需求,文本")
    @TableField ("sex_required")
    @Excel (name = "性别需求,文本")
    private String sexRequired;

    /**
     * 其他需求,文本
     */
    @ApiModelProperty ("其他需求,文本")
    @TableField ("other_required")
    @Excel (name = "其他需求,文本")
    private String otherRequired;

    /**
     * 直接上级领导,关联员工表
     */
    @ApiModelProperty ("直接上级领导,关联员工表")
    @TableField ("direct_super")
    @Excel (name = "直接上级领导,关联员工表")
    private String directSuper;

    /**
     * 是否在用
     */
    @ApiModelProperty ("是否在用")
    @TableField ("is_used")
    @Excel (name = "是否在用")
    private Integer isUsed;

    @Override
    public String toString () {
        return new ToStringBuilder ( this, ToStringStyle.MULTI_LINE_STYLE )
                .append ( "id", getId () )
                .append ( "needNumber", getNeedNumber () )
                .append ( "companyId", getCompanyId () )
                .append ( "deptId", getDeptId () )
                .append ( "postId", getPostId () )
                .append ( "needTime", getNeedTime () )
                .append ( "ageRequired", getAgeRequired () )
                .append ( "sexRequired", getSexRequired () )
                .append ( "otherRequired", getOtherRequired () )
                .append ( "directSuper", getDirectSuper () )
                .append ( "createBy", getCreateBy () )
                .append ( "createTime", getCreateTime () )
                .append ( "updateTime", getUpdateTime () )
                .append ( "isUsed", getIsUsed () )
                .toString ();
    }
}
